home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / System Extensions / MacsBug 6.2.2 / MacsBug - Read Me First < prev   
Text File  |  1992-02-17  |  7KB  |  213 lines

  1. =================================================
  2.  
  3. MacsBug 6.2.2    2/14/92    © Apple Computer, Inc. 1981-91
  4.  
  5. Problems Building Dcmds under MPW 3.2.
  6.  
  7. Changing to MPW 3.2 caused link errors when building dcmds with
  8. older scripts because of changes in the libraries.  Under MPW 3.2,
  9. the -sg linker directive must be used to merge all the old segments
  10. into one segment.
  11.  
  12. For example using C:
  13.  
  14.     Link    -sg Main=STDCLIB,STDIO,SANELIB ∂
  15.             -o "{thisCdcmd}" ∂
  16.             "{dcmdLib}dcmdGlue.a.o" ∂
  17.             "{objs}{thisCdcmd}.c.o" ∂
  18.             "{dcmdLib}put.c.o" ∂
  19.             "{Libraries}Runtime.o"
  20.  
  21. For Pascal:
  22.  
  23.     Link     -sg Main=PASLIB  -o "{thisPascaldcmd}" ∂
  24.             "{dcmdLib}dcmdGlue.a.o" ∂
  25.             "{objs}{thisPascaldcmd}.p.o" ∂
  26.             "{Libraries}Runtime.o" ∂
  27.             "{PLibraries}PasLib.o"
  28.  
  29. =================================================
  30.  
  31. MacsBug 6.2.2    7/17/91    © Apple Computer, Inc. 1981-91
  32.  
  33. Bugs fixed in 6.2.2
  34.  
  35. A cache problem that killed MacsBug at startup on a 68040 
  36. is solved by flushing the caches where necessary.
  37.  
  38. A 68040 timing error related to cursor flash and key debounce 
  39. was fixed.
  40.  
  41. Branch prediction routine used self modifying code to execute the
  42. actual branch to make the prediction.  On a 68040, the modified
  43. instruction was in the data cache, so it didn't execute properly 
  44. since the modified instruction was not loaded in the instruction 
  45. cache.  Branch prediction is now implemented using a table lookup.
  46.  
  47. Breakpoints set close to current PC were missed since cache
  48. was not flushed to read in break point.  Cache is now flushed to
  49. read in new breakpoints.
  50.  
  51. Trap symbols were brought up to date (HFSDispatch is defined).
  52.  
  53. =================================================
  54.  
  55. MacsBug 6.2.1    5/20/91    © Apple Computer, Inc. 1981-91
  56.  
  57. Bugs fixed in 6.2.1
  58.  
  59. Interrupts are reenabled by the RS and RB commands, 
  60. eliminating the irritating hang experienced with these 
  61. commands when running System 7.0.
  62.  
  63. Macsbug 6.2 mismanaged the bus error vector under some 
  64. circumstances, causing disassembly (the IL command or updating 
  65. the PC disassembly pane) to crash if Macsbug caused a bus error
  66. while trying to follow bad address values.  Macsbug 6.2.1 
  67. manages the vector correctly.
  68.  
  69. Macsbug 6.2 turned on interrupts while the HS (heap scramble) 
  70. routine ran, to avoid jerky mouse movement.  This caused a 
  71. problem with managing supervisor/user mode correctly when
  72. running under VM.  For this release, interrupts remain disabled 
  73. to prevent this problem.
  74.  
  75. =================================================
  76.  
  77. MacsBug 6.2    1/25/91    © Apple Computer, Inc. 1981-91
  78.  
  79. You should use the “Debugger Prefs” included with this MacsBug.
  80. It contains macros, templates, dcmds, and the C++ name unmangler.
  81. You may add your own resources to “Debugger Prefs”,
  82. or remove some to decrease memory usage.
  83.  
  84. =================================================
  85.  
  86. New features since 6.1
  87.  
  88. MacsBug 6.2 supports the Macintosh Plus and all newer
  89. Macintosh models. These are the Macintosh Plus, SE, II, IIx,
  90. IIcx, SE30, Portable, IIci, IIfx, Classic, IIsi and LC.
  91.  
  92. MacsBug 6.2 works reliably with all Apple monitors and all
  93. third-party monitors if their slot ROM and driver software
  94. have been designed according to the guidelines presented
  95. in Designing Cards and Drivers for the Macintosh II and
  96. Macintosh SE, with and without 32 bit QuickDraw.
  97.  
  98. MacsBug 6.2 runs under A/UX 2.0.
  99.  
  100. Typing Command-D instead of Command-; with an international
  101. keyboard accesses the symbol list.
  102.  
  103. If the selected symbol in the scrollable list contains a
  104. C++ or Object Pascal class name, then pressing the tab key
  105. qualifies the list by that name.
  106.  
  107. MacsBug 6.2 displays the name of the current application,
  108. the memory management scheme (24 bit/32 bit) currently used,
  109. and whether you are running and have access to virtual memory.
  110.  
  111. New options for the Find command allow you to specify the width
  112. of the pattern for which MacsBug searches. One of these options
  113. allows MacsBug to look for 24 bit pointers.
  114.  
  115. The heap dump display is more detailed and works with 24 bit
  116. and 32 bit heaps.
  117.  
  118. An extension to the GT command allows you to specify
  119. one or more MacsBug commands to be executed
  120. once the specified breakpoint is reached.
  121.  
  122. Beginning with MacsBug 6.1 (but not documented),
  123. the DebugStr trap was extended so that you could include
  124. one or more commands in the message string to DebugStr.
  125. After MacsBug is invoked by the DebugStr trap, in addition
  126. to displaying a message specified with DebugStr, MacsBug
  127. executes the command(s) included in the message for DebugStr.
  128. The syntax for the call is as follows:
  129.  
  130. DebugStr ("string [; cmd]")
  131.   string is the message to display.
  132.   cmd is a MacsBug command or macro.
  133.  
  134. Example:
  135.  
  136. DebugStr ("Checking the heap ;hc ;g")
  137.  
  138. This routine invokes MacsBug, display the message "Checking
  139. the Heap", does a heap check, and resumes execution of the
  140. program.
  141.  
  142. The printf dcmd included in “Debugger Prefs” allows you to
  143. produce formatted output.
  144.  
  145. =================================================
  146.  
  147. Changes after the 6.2 release notes went final
  148.  
  149. The 'mxbh' help resource now resides in the “MacsBug” file
  150. of MacsBug 6.2.
  151.  
  152. SC6, SC7, and HZ take optional parameters. More information on
  153. these parameters can be obtained from the help command.
  154.  
  155. The SC commands allow to crawl stacks anywhere in the memory.
  156. HZ knows about embedded, 24 bit, and 32 bit heaps.
  157. HX allows to switch to partially damaged heaps.
  158. HD knows a new Q option and displays an additional summary line.
  159.  
  160. HZ and HD display partially damaged blocks and heaps with ! or ?
  161. next to the address.
  162.  
  163. If an address is in a known resource but not in a known
  164. procedure then an artificial symbol may be displayed by MacsBug.
  165. E.g. 'CODE 0006 0C20 Pickers'+0262 indicates the address which
  166. is $262 bytes offset into CODE 6 resource, named "Pickers", of
  167. file $0C20.
  168.  
  169. =================================================
  170.  
  171. We know about some bugs :
  172.  
  173. If ATR is on and A0 points into hardware registers on some
  174. NuBus cards then reading the bytes which A0 points to may
  175. cause the card to perform erratically (e.g. video flickering,
  176. network malfunction).
  177. For now try to use ATT instead in such situations.
  178.  
  179. Sometimes MacsBug loses FPU status when an NMI interrupts
  180. two consecutive FPU instructions.
  181. If you encounter this use _DebugStr instead of hitting the NMI.
  182.  
  183. There are still problems with a few video cards and video
  184. drivers.
  185. For now if you have more than one screen try to run MacsBug
  186. on the other screen.
  187.  
  188. If you use a pre-release of System 7.0 and switch VM on then
  189. use common sense to avoid :
  190. - using the MacsBug Find command over NuBus card memory
  191. - searching for symbols in memory that is swapped to disk
  192.   (you may want to consider using the SX command)
  193.  
  194. ATHC sometimes reports an invalid heap if the Memory Manager
  195. calls _BlockMove while the heap zone free bytes are not yet
  196. adjusted.
  197. For now ignore these warnings or use ATHCA.
  198.  
  199. The source code provided for dcmds requires MPW 3.1 to build
  200. the dcmds. It currently does not build with MPW 3.2.
  201. This does not affect the execution of the dcmds included in
  202. the file “Debugger Prefs”.
  203.  
  204. =================================================
  205.  
  206. In addition to these specific changes,
  207. you should find MacsBug 6.2 easier to use.
  208.  
  209. Whenever possible its output has been made more articulate
  210. and its displays more intelligible.
  211.  
  212. Feedback is an important and appreciated contribution.
  213.